<?php
/**
 *
 *
 *
 *
 *
 */
interface Yz_Action_Interface
    extends Countable
{
    /**
     *  Constructor
     */
#    public function __construct($model);

    /**
     *  perform action
     *  @return this
     *  @throw NotFoundError if count of affected items is 0
     */
    public function perform();

    /**
     *  For ALL Actions, count returns the number of rows matched (selected, updated...)
     */
    public function count();

    /**
     *  For SELECT
     *  Different Fetch actions may return one or a set of rows, or a scalar
     */
#    public function fetch();

    /**
     *  For INSERT
     */
#    public function getInsertId();


}
